import { AxiosResponse } from 'axios'
import $axios, { Result } from '@/plugins/axios'
import { PageParam } from '@/type'

/**
 * 查询角色列表
 * @param pageParam 分页参数
 */
export async function getRoleList(
  pageParam: PageParam,
): Promise<AxiosResponse<Result>> {
  return await $axios.post('/supervision-api/sys/role/list', pageParam)
}

/**
 * 获取全部角色
 * @param data
 */
export async function getAllRoleList(data: {
  type: string
}): Promise<AxiosResponse<Result>> {
  return await $axios.post(`/supervision-api/sys/role/listAll`, data)
}

/**
 * 添加或者修改角色信息
 */
export async function saveRole(data: any): Promise<AxiosResponse<Result>> {
  return await $axios.post('/supervision-api/sys/role/save', data)
}

/**
 * 删除角色信息
 * @param ids
 */
export async function deleteRole(ids: string): Promise<AxiosResponse<Result>> {
  return await $axios.get(`/supervision-api/sys/role/delete/${ids}`)
}

/**
 * 获取当前角色的权限菜单
 * @param id
 */
export async function getRoleMenu(id: number): Promise<AxiosResponse<Result>> {
  return await $axios.get(`/supervision-api/sys/role/menus/${id}`)
}

/**
 * 更新当前角色的权限菜单
 * @param data
 */
export async function updateRoleMenu(data: {
  id: number
  menuIds: string
}): Promise<AxiosResponse<Result>> {
  return await $axios.post(`/supervision-api/sys/role/updateMenus`, data)
}
